package cz.vse.adventura.po1715.xforv00_forejt.gui._04_abstract;

import cz.pecinovsky.english.pojj.adv_framework.game_gui.Commands;
import cz.pecinovsky.english.pojj.adv_framework.game_gui.IObjectG;
import java.awt.Dimension;
import java.util.Collection;
import javax.swing.BoxLayout;


/*******************************************************************************
 * Instance třídy {@code BagPane} představují
 * panel objektů v batohu, který se přidá do hlavního
 * okna aplikace v grafickém rozhraní GUI_O3
 *
 * @author    Vladimír FOREJT
 * @version   0.00.000
 */
public class BagPane extends AContainerClass<IObjectG>
{
//== KONSTANTNÍ ATRIBUTY TŘÍDY =================================================

    /** Návěští v panelu sousedů specifikující obsah daného panelu. */
    private static final String bagTitle = "Batoh";

//== PROMĚNNÉ ATRIBUTY TŘÍDY ===================================================
//== STATICKÝ INICIALIZAČNÍ BLOK - STATICKÝ KONSTRUKTOR ========================
//== KONSTANTNÍ ATRIBUTY INSTANCÍ ==============================================
   
    

//== PROMĚNNÉ ATRIBUTY INSTANCÍ ================================================
//== PŘÍSTUPOVÉ METODY VLASTNOSTÍ TŘÍDY ========================================
//== OSTATNÍ NESOUKROMÉ METODY TŘÍDY ===========================================

//##############################################################################
//== KONSTRUKTORY A TOVÁRNÍ METODY =============================================

    /***************************************************************************
     *Připraví panel, kde se zobrazuje obsah batohu
     */
    public BagPane(GUI_04 gui, int horizontalDistance)
    {
        super(gui, BoxLayout.X_AXIS, bagTitle, new Dimension(horizontalDistance, 1), Commands.Type.PUT_DOWN);
      
    }



//== ABSTRAKTNÍ METODY =========================================================
//== PŘÍSTUPOVÉ METODY VLASTNOSTÍ INSTANCÍ =====================================
//== OSTATNÍ NESOUKROMÉ METODY INSTANCÍ ========================================

    /***************************************************************************
     * Vrátí kolekci s prvky, které se mají zobrazit v panelu.
     *
     * @return Kolekce s prvky, které se mají zobrazit v panelu
     */
    @Override
    Collection<? extends IObjectG> getCollection() {
        Collection<? extends IObjectG> objects = getGame().getBag().getObjects();
        return objects;
    }

    

//== SOUKROMÉ A POMOCNÉ METODY TŘÍDY ===========================================
//== SOUKROMÉ A POMOCNÉ METODY INSTANCÍ ========================================
//== INTERNÍ DATOVÉ TYPY =======================================================
//== TESTY A METODA MAIN =======================================================
//
//    /***************************************************************************
//     * Testovací metoda.
//     */
//    public static void test()
//    {
//        BagPane inst = new BagPane();
//    }
//    /** @param args Parametry příkazového řádku - nepoužívané. */
//    public static void main( String[] args )  {  test();  }
}
